//////////////////////////////////////////////////////////////////////////
#define PROPERTY_PROLOGUE(theClass, localClass) \
	theClass* pThis = ((theClass*)((BYTE*)(this) - offsetof(theClass, localClass)));



#define Begin_Property(name) class P_##name

#define Declarations(type,name) private:type name;public:P_##name(){;}

#define _get(type) operator type()

#define _set(type) type operator=(const type iValue)

#define End_Property(name) name;friend class P_##name;
///////////////////////////////////////////////////////////////////////////
